<?php
class PC4_Controlador_CRUDJson extends PC4_Controlador_CRUD {
	
	function resultadoNovo($retorno, $campos = array()) {
		$this->layout->view = 'blank';
		if (is_numeric($retorno)) {
			$retorno = array('resultado' => 1, 'id' => $retorno, 'msg' => 'Cadastro bem sucedido.', 'classe' => 'success');
		}
		else {
			$retorno = array('resultado' => 0, 'msg' => implode('<br />', $retorno), 'classe' => 'error');
		}
		$this->output->append_output(json_encode($retorno));
		return $retorno;
	}
	
	function resultadoEdita($erros, $campos = array()) {
		$this->layout->view = 'blank';
		if (empty($erros)) {
			$retorno = array('resultado' => 1, 'id' => $retorno, 'msg' => 'Edição bem sucedida.');
		}
		else {
			$retorno = array('resultado' => 0, 'msg' => implode('<br />', $erros));
		}
		$this->output->append_output(json_encode($retorno));
		return $retorno;
	}
	
	/**
	 * Gera uma lista de registro com paginação - padrão 20 registros por página
	 */
	function lista($pagina = 1, $limite = -1, $debug = false) {
		$this->listaView = (empty($_POST)) ? 'json' : $_POST['view'];
		
		$this->dados['objeto']["rs"] = $this->modelo->lista($pagina, $limite, $debug);
		$this->dados['objeto']["total"] = $this->modelo->getTotalRegistros();
		$this->dados['objeto']["limite"] = $limite;
		$this->dados['objeto']["total_paginas"] = ceil($this->dados["total"] / $limite);
		$this->dados['objeto']["pagina"] = $pagina;

		$this->load->view($this->listaView, $this->dados);
	}
	
}